import java.awt.BorderLayout;
import java.awt.Component;
import java.awt.EventQueue;

import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.border.EmptyBorder;
import javax.swing.JLabel;
import javax.swing.JTextField;
import javax.swing.JButton;
import java.awt.event.ActionListener;
import java.awt.event.ActionEvent;
import javax.swing.SwingConstants;
import javax.swing.JComboBox;
import javax.swing.JList;
import java.util.HashSet;
import java.util.HashMap;
import java.util.List;

import javax.swing.DefaultListModel;
import javax.swing.JTextArea;
import javax.swing.JScrollBar;
import javax.swing.JScrollPane;
import javax.swing.ScrollPaneConstants;

public class VueSaisiePeriodique extends Vue {

	private JPanel contentPane;
	private JFrame frame;
	private JTextField txtIssn;
	private JTextField txtNomperiodique;

	private JButton btnEnregistrer;
	private JButton btnAnnuler;


	
	
	/**
	 * Create the application.
	 */
	public VueSaisiePeriodique(Controleur controleur) {
		super(controleur);
		this.initialize();
	
	}
	
	public JFrame getFrame() {
		return frame;	
	}
	/**
	 * Initialize the contents of the frame.
	 */
	private void initialize() {
		frame = new JFrame();
		frame.setBounds(100, 100, 498, 330);
		frame.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
		contentPane = new JPanel();
		setContentPane(contentPane);
		contentPane.setLayout(null);
		frame.getContentPane().setLayout(null);
		
		txtIssn = new JTextField();
		txtIssn.setBounds(185, 88, 114, 19);
		frame.getContentPane().add(txtIssn);
		txtIssn.setColumns(10);
		
		txtNomperiodique = new JTextField();
		txtNomperiodique.setBounds(185, 119, 114, 19);
		frame.getContentPane().add(txtNomperiodique);
		txtNomperiodique.setColumns(10);
		
		JLabel lblEnregistrerUnNouveau = new JLabel("Enregistrer un nouveau Périodique");
		lblEnregistrerUnNouveau.setBounds(73, 12, 396, 15);
		frame.getContentPane().add(lblEnregistrerUnNouveau);
		
		JLabel lblIssn = new JLabel("Issn");
		lblIssn.setBounds(56, 94, 61, 15);
		frame.getContentPane().add(lblIssn);
		
		JLabel lblNomPeriodique = new JLabel("Nom Périodique");
		lblNomPeriodique.setBounds(56, 121, 111, 15);
		frame.getContentPane().add(lblNomPeriodique);
		
		
		btnEnregistrer = new JButton("Enregistrer");
		btnEnregistrer.addActionListener(new ActionListener() {
			public void actionPerformed(ActionEvent e) {
				String issn = txtIssn.getText();
				String NomPeriodique = txtNomperiodique.getText();
				if ((issn.length() == 0) || (NomPeriodique.length() == 0)) {
					Message dialog = new Message("Tous les champs sont obligatoires");
					dialog.setVisible(true);
				} else{
				frame.setVisible(false);

				getControleur().nouvPeriodique(issn, NomPeriodique);
				getControleur().saisieParution(issn, NomPeriodique);//passe le periodique a la saisie parution
				}
			}
		});
		
		
		btnEnregistrer.setBounds(305, 208, 107, 25);
		frame.getContentPane().add(btnEnregistrer);


        frame.setVisible(true);


		btnAnnuler = new JButton("Annuler");
		btnAnnuler.setBounds(60, 208, 107, 25);
		btnAnnuler.addActionListener(new ActionListener() {
			public void actionPerformed(ActionEvent e) {
				getControleur().fermerVue(VueSaisiePeriodique.this);
				frame.setVisible(false);
			}
		});
        frame.getContentPane().add(btnAnnuler);
		
		
		
		
		
		

	
		
	}
	
	public void setEtat (int etat){
		switch (etat) {
		case initiale: {
			btnAnnuler.setEnabled(true);
			btnEnregistrer.setEnabled(true);
			break;
			}
		}
	}
}
